<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <style>
    body {
      text-align: center;
    }
  </style>
  <body>
    <!-- 请输入内容：<p>只准输入数字</p><input type="text" id="con" /><span id="res"></span> -->

    <p>只准输入汉子</p>
    <input type="text" id="con" /><span id="res"></span>
    <p>只准输入英文</p>
    <p>只准输入数字字母下划线</p>
    <p>只准输入汉子数字字母下划线</p>
    <p>只准输入数字汉子</p>
    <p>只准输入5位数字</p>
    <p>只准输入5位数字字母下划线</p>
    <p>检查是否包含@符号</p>
    <p>检查是否手机号</p>
  </body>
  <script>
    // 22、15、17 0~255.0~255.0~255.0~255
    //1-199 200-249 250-255
    console.log(document.cookie)
    var reg = /^([0-9]{1,2}|(1[0-9]{0,2})|(2[0-4]?[0-9]?)|(25[0-5]{1}))$/
    for (let i = 1; i <= 255; i++) {
      console.log(
        i,
        /^([0-9]{1,2}|(1[0-9]{0,2})|(2[0-4]?[0-9]?)|(25[0-5]{1}))\.([0-9]{1,2}|(1[0-9]{0,2})|(2[0-4]?[0-9]?)|(25[0-5]{1}))\.([0-9]{1,2}|(1[0-9]{0,2})|(2[0-4]?[0-9]?)|(25[0-5]{1}))\.([0-9]{1,2}|(1[0-9]{0,2})|(2[0-4]?[0-9]?)|(25[0-5]{1}))$/.test(
          i
        )
      )
    }
    //17
    // var str = '13512987654'
    // var ary = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九']
    // console.log(
    //   str.replace(/\d/g, function () {
    //     return ary[arguments[0]]
    //   })
    // )

    //正则表达式获取url参数
    // var str = 'html?a=1&b=2'
    // var reg = /(?<=\?)(.+)/g
    // console.log(str.match(reg)[0].split('&'))

    // var str = '高高兴兴'
    // console.log(/([\u4e00-\u9fa5]{1})\1([\u4e00-\u9fa5]{1})\2/g.test(str))
    // //把 "Doe, John" 转换为 "John Doe" 的形式：
    // var str = 'Doe, John'
    // console.log(str.replace(/(\w+)\s*, \s*(\w+)/, '$1 $2'))

    // console.log(/foo/.test('foo'))
    // console.log(/foo/.test('foo'))

    //1. 数组去重  将"aaaaaabbbbbbbccccccc"转化为"abc"
    //2. 用逗号分隔数字 上篇中讲过，要将 “100000000”这样的数字处理成100,000,000
    //3. 将get-element-by-id转化为小驼峰式命名
    //4. 匹配二进制数字
    //5. 输出一段字符串中的数字
    //      比如说"dg432fhfgh2524bh123123ku289fgdhdy675gfh"
    //      简单提取出来很简单，只需要reg = / \d+/g; 就行了
    //      但如果要你输出的数组中的为数字就要用到一个map方法：
    //6. 非零的十进制数字 (有至少一位数字, 但是不能以0开头)注意\d$的中间要加上？，取消贪婪匹配，不然个位数检测时为false

    // con.onblur = function () {
    //   //?=n 23.123
    //   var reg = /4\.\(\)\[\] (?!abc)/g
    //   console.log(this.value.match(reg))
    //   if (this.value.match(reg)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    // con.onblur = function () {
    //   //身份证号 1-9开头 15位 18位 结尾有可能是xX
    //   var reg = /^([1-9]\d{13}[\d|x]|[1-9]\d{16}[\d|x])$/i
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //手机号 1开头 11位 号码段
    // con.onblur = function () {
    //   var reg = /^1[2-9]\d{9}$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }

    // con.onblur = function () {
    //   var reg = /@/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //汉子数字字母下划线
    // con.onblur = function () {
    //   var reg = /^[\u4e00-\u9fa5\w]+$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //只准输入数字字母下划线
    // con.onblur = function () {
    //   var reg = /^\w+$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //只准输入英文
    // con.onblur = function () {
    //   var reg = /^[a-zA-Z]+$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //只能输入汉字
    // con.onblur = function () {
    //   var reg = /^[\u4e00-\u9fa5]+$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }

    // 只能输入数字
    // con.onblur = function () {
    //   var reg = /^\d+$/
    //   if (reg.test(this.value)) {
    //     res.innerHTML = '√'
    //   } else {
    //     res.innerHTML = '×'
    //   }
    // }
    //abcgdef-23456-ABCDEF-
    // var str = 'abcgdefg123456G1ABCDEFga'
    // var reg = /[0-3]/g
    // var reg = /g(a|1|d|)/gi
    // var reg = /g[1a]/gi
    // var newStr = str.replace(reg, '-')

    // var str = 'hello a你好啊 asjkd21'
    // var reg = /a[^\u4e00-\u9fa5]+/gi
    // var newStr = str.replace(reg, '-')

    // var str = '_asd3123asd'
    // var reg = /^\w+$/gi
    // console.log(reg.test(str))
  </script>
</html>
